package com.deyuanyun.pic.insp.controller.dto;

import com.deyuanyun.pic.settings.domain.Domain;
import org.springframework.validation.Errors;

/**
 * User: chenby
 * Date: 13-11-27
 * Time: 下午2:25
 */
public abstract class DefaultCommand<T extends Domain> implements Command<T> {

    /**
     * @Null 限制只能为null
     @NotNull 限制必须不为null
     @AssertFalse 限制必须为false
     @AssertTrue 限制必须为true
     @DecimalMax(value) 限制必须为一个不大于指定值的数字
     @DecimalMin(value) 限制必须为一个不小于指定值的数字
     @Digits(integer,fraction) 限制必须为一个小数，且整数部分的位数不能超过integer，小数部分的位数不能超过fraction
     @Future 限制必须是一个将来的日期
     @Max(value) 限制必须为一个不大于指定值的数字
     @Min(value) 限制必须为一个不小于指定值的数字
     @Past 限制必须是一个过去的日期
     @Pattern(value) 限制必须符合指定的正则表达式
     @Size(max,min) 限制字符长度必须在min到max之间
     * **/
    @Override
    public T toDomain(Errors errors) {
        throw new UnsupportedOperationException("not supported");
    }

    @Override
    public T toDomain() {
        throw new UnsupportedOperationException("not supported");
    }

    @Override
    public void fromDomain(T domain) {
        throw new UnsupportedOperationException("not supported");
    }

//    protected DataCode getDataCode(String code) {
//        return DataCode.loadByCode(code);
//    }
//
//    protected City getCity(String cityId) {
//        return City.read(City.class, cityId);
//    }
//
//    protected Parameter getParameter(ParameterType type) {
//        return Parameter.loadParameterByType(type);
//    }

}
